A la découverte du Scrum et de la gestion de projet « agile »

A la découverte du Scrum et de la gestion de projet « agile »



« Scrum », le mot ne vous dit peut-être rien. Et pourtant, c’est le nom d’une petite révolution dans la manière de travailler et de faire de la gestion de projets. Le Scrum définit un cadre méthodologique à la fois précis et souple pour la gestion de projets technologiques, innovants ou complexes. Ses objectifs : améliorer la productivité des équipes, favoriser le dialogue entre les parties prenantes et optimiser la réussite finale des projets.

En effet, et c’est tout particulièrement vrai dans le cadre de projets web, tous les professionnels seront d’accord pour faire ce constat : la gestion classique de projet, qui repose sur le fameux cahier des charges, ne convient pas, à cause de sa rigidité, du manque de dialogue entre les clients et les prestataires, et de l’effet tunnel. Les projets sont rarement livrés dans les délais et entraînent le plus souvent des dépassements de budgets. Pire encore, le résultat final est parfois loin des attentes initiales des clients. L’agilité du Scrum permet d’éviter tous ces écueils. Justement, qu’est-ce que le Scrum concrètement ? Comment fonctionne cette méthode utilisée par de plus en plus d’organisations (y compris le FBI !) ? Qu’est-ce qu’un sprint, un backlog, un user story, un Scrum Master, un Daily Scrum ? Et surtout : comment mettre en place facilement et rapidement ce cadre de travail au sein de votre entreprise ? quelles étapes suivre ? quels outils utiliser ? Dans cet article, inspiré du guide complet d’Andrew Littlefield, nous revenons sur tout ces points. Bonne lecture !

Qu’est-ce que le scrum et la gestion de projet « agile » ?



Définition



Le Scrum est LA méthode agile, celle dont on parle le plus, celle qui est la plus utilisée. Pour commencer, d’où vient ce nom bizarre : « Scrum » ? Le terme peut être traduit par « mêlée ». Ce qui pose d’emblée le décor. En fait, « Scrum » fait référence au rugby et à ses valeurs, comme l’esprit d’équipe. Et plus précisément au fait que, dans une mêlée, l’objectif est de faire circuler le ballon (le projet) en restant uni. Le Scrum, comme toutes les méthodes agiles, définit, plus qu’une méthode, un cadre méthodologique, un framework de gestion de projets. On pourrait même parler de paradigme, de culture. Avec le Scrum, c’est une toute nouvelle manière de travailler d’organiser le travail qui est en jeu. On pourrait presque parler de « philosophie », ou de « culture Scrum ». On le verra, le Scrum se caractérise par une définition des rôles nouvelles, par l’itération, par une organisation particulière des réunions, mais aussi par des règles du jeu bien définies.

Les méthodes agiles, dont le Scrum fait partie, sont clairement une réaction à la rigidité et aux lourdeurs d’exécution des méthodes traditionnelles de gestion de projet. L’éclosion de ces méthodes a pour genèse le constat simple que les méthodes classiques ne conviennent pas à la gestion de projets web, technologiques ou innovants. Le Scrum entend en finir avec le sempiternel cahier des charges et sa rigidité congénitale. En gros, pour faire très simple,la gestion de projet classique ressemble à ça :

Le porteur de projet (le maître d’ouvrage) établit un cahier des charges de plusieurs pages (ou de plusieurs dizaines de pages), dans lequel tous les besoins sont définis et spécifiés. L’équipe en charge du développement (le maître d’oeuvre, ou prestataire) reçoit le cahier des charges et réalise le travail demandé.
Dans ce mode de fonctionnement classique, il y a deux problèmes majeurs. Premièrement, le manque de dialogue entre le maître d’oeuvre et le maître d’ouvrage, qui entraîne souvent un déphasage entre le besoin initialement exprimé par le client et le produit livré par le prestataire au moment de la recette. Evidemment, il y a des échanges, mais ceux-ci sont basés sur l’existence d’un cahier des charges qui déterminent le travail à réaliser de A à Z. Deuxième problème : le côté encore une fois très rigide, le manque de souplesse du cahier des charges, qui empêche, du fait de l’effet tunnel, les remises en questions et les évaluations en cours de route de la pertinence de telle fonctionnalité, de telle idée.

Dans le Scrum, il s’agit d’aller à l’encontre de cette façon de procéder, en partant du principe que tout prévoir et tout spécifier à l’avance, avant la phase de développement, est contre-productif. Le Scrum est basé sur des cycles de développement courts : le projet est découpé en blocs qui correspondent à des besoins (on parle d' »user story » en langage Scrum), et à chaque réalisation d’un bloc, une étape de validation intervient qui permet de recueillir des feedbacks, d’affiner ou de réajuster le besoin. Dans une approche Scrum, les changements et les bifurcations dans le projet sont autorisées, voire favorisées. Si des idées contenues dans le brief initial s’avèrent être de mauvaises idées, elles sont abandonnées. Dans la philosophie Scrum, l’idée centrale c’est qu’une bonne idée peut venir en cours de route, au fil des expérimentations et de l’avancée du projet. Le Scrum est une méthode essentiellement expérimentale et incrémentale.

On l’a dit, le Scrum fonctionne sur des cycles courts. Ce qui se traduit non seulement par une division du projet global en blocs et en besoins, mais aussi par une division du temps de travail. L’itération est une notion très importante dans le Scrum. L’idée est d’enchaîner des itérations d’une durée de 1 à 4 semaines, dont chacune correspond à la réalisation d’une partie du projet, à la mise au point d’une fonctionnalité, à la réponse à un besoin précis. Ces itérations sont aussi appelées « sprints ». « Itérations », « sprints » et « cycles courts » sont synonymes.